package 代码记录.校招笔试真题.笔试真题_2022.小红书;

import java.util.Scanner;

/**
 * @author zx
 * @create 2022-09-04 16:48
 */
public class Test1 {
    /**
     一个序列的生成方式如下：
     • 序列生成需要一个基础序列A，这个序列由n个 不大于100的数字组成，同时给定镜像复制次数m。
     • 然后对于A进行m次镜像复制，例如序列A={1，2，3}，则一次镜像复制后得到的序列是{1，2，3，3，2，1}，
     两次镜像复制得到的序列是B={1，2，3，3，2，1，1，2，3，3，2，1} 。
     现在给出你生成一个序列所需要的参数，请你计算该序列的第k位是多少。
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        int k = sc.nextInt();
        int[] arr = new int[n];
        for(int i = 0;i < n;i++){
            arr[i] = sc.nextInt();
        }
        int [] temp = helper(arr,m);
        System.out.println(temp[k - 1]);
    }
    private static int[] helper(int[] arr, int m){
        while(m > 0){
            int[] temp = new int[2 * arr.length];
            for(int i = 0,j = arr.length - 1,k = arr.length;i < arr.length && j >= 0;i++,j--){
                temp[i] = arr[i];
                temp[k] = arr[j];
                k++;
            }
            m--;
            arr = temp;
        }
        return arr;
    }
}
